<?php
class EmpresasController extends AppController{
	var $name = 'Empresas';
	var $components = array('Paginator');
	var $helpers = array('Html', 'Form');
	
	function index(){
		$this->paginate = array(
				'conditions' => array('Empresa.Deleted' => 0),
				'recursive' => 1,
				'order' => 'Empresa.id',
				'prefix' => 'Empresa',
				'limit' => 10
		);
		
		$this->set('empresas', $this->Paginator->paginate($this->Empresa));
		//$paises = ClassRegistry::init('Paise');
	}
	
	function add(){
		$paises = $this->Empresa->Paises->find('list', array('fields' => 'Paises.nombre', 'order' => 'Paises.id'));
		$this->set('paises', $paises);

		$regiones = $this->Empresa->Regiones->find('list', array('fields' => 'Regiones.nombre', 'order' => 'Regiones.id'));
		$this->set('regiones', $regiones);
		
		$localidades = $this->Empresa->Localidades->find('list', array('fields' => 'Localidades.nombre', 'order' => 'Localidades.id'));
		$this->set('localidades', $localidades);
		
		if (!empty($this->data)) {
			if (!empty($this->data['Empresa']['logo']['name'])){
				/*
				$file = new File($this->request->data['Empresa']['logo']['name'], true, 0644);
				$path_parts = pathinfo($this->data['Empresa']['logo']['name']);
				$ext = $path_parts['extension'];
			
				if ($ext != 'jpg' && $ext != 'jpeg' && $ext != 'gif' && $ext != 'png') {
					$this->Session->setFlash('Solo puedes subir imagenes.');
					$this->render();
				} 
				else {
					$date = $this->data['Empresa']['logo']['name'];
					$filename =$date.'-post-image.'.$ext;
					$data = $file->read();
					$file->close();
				
					$file = new File(WWW_ROOT.'/img/empresas/'.$filename,true);
					$file->write($data);
					$file->close();
				}*/
			}
			else{
				$imagen = "imapordefecto.jpg";	
			}
					
			$empresa = array();
			$this->Empresa->create();
			$this->Empresa->id = null;
			$empresa['Empresa']['nombre'] = $this->data['Empresa']['nombre'];
			$empresa['Empresa']['url'] = $this->data['Empresa']['url'];
			$empresa['Empresa']['rut'] = $this->data['Empresa']['rut'];
			$empresa['Empresa']['telefono'] = $this->data['Empresa']['telefono'];
			$empresa['Empresa']['celular'] = $this->data['Empresa']['celular'];
			$empresa['Empresa']['email'] = $this->data['Empresa']['email'];
			$empresa['Empresa']['direccion'] = $this->data['Empresa']['direccion'];
			$empresa['Empresa']['logo'] = $imagen;
			$empresa['Empresa']['paises_id'] = $this->data['Empresa']['paises_id'];
			$empresa['Empresa']['regiones_id'] = $this->data['Empresa']['regiones_id'];
			$empresa['Empresa']['localidades_id'] = $this->data['Empresa']['localidades_id'];
			
			if($this->Empresa->save($empresa)){
				$this->Session->setFlash('La empresa ha sido ingresada correctamemte.');
				$this->redirect(array('action' => 'index'), null, true);			
			} 
			else{
				$this->Session->setFlash('Empresa no ingresada. Pruebe de nuevo.');
			}
		}
	}

	function edit($id = null){
		$paises = $this->Empresa->Paises->find('list', array('fields' => 'Paises.nombre', 'order' => 'Paises.id'));
		$this->set('paises', $paises);

		$regiones = $this->Empresa->Regiones->find('list', array('fields' => 'Regiones.nombre', 'order' => 'Regiones.id'));
		$this->set('regiones', $regiones);
		
		$localidades = $this->Empresa->Localidades->find('list', array('fields' => 'Localidades.nombre', 'order' => 'Localidades.id'));
		$this->set('localidades', $localidades);
		$this->set('id', $id);
		
		if(!$id){
			$this->Session->setFlas('Empresa Invalida');
			$this->redirect(array('action'=>'index'), null, true);
		}
		
		if(empty($this->data)){
			$this->data = $this->Empresa->find('all', array('recursive' => 1, 'conditions' => array('Empresa.id' => $id)));	
			$this->data = $this->data['0'];
			//$this->data = $this->Empresa->find(array('id' => $id));	
		}
		else{
			$empresa = array();
			$this->Empresa->id = null;
			$empresa['Empresa']['id'] = $this->data['Empresa']['id'];
			$empresa['Empresa']['nombre'] = $this->data['Empresa']['nombre'];
			$empresa['Empresa']['url'] = $this->data['Empresa']['url'];
			$empresa['Empresa']['rut'] = $this->data['Empresa']['rut'];
			$empresa['Empresa']['telefono'] = $this->data['Empresa']['telefono'];
			$empresa['Empresa']['celular'] = $this->data['Empresa']['celular'];
			$empresa['Empresa']['email'] = $this->data['Empresa']['email'];
			$empresa['Empresa']['direccion'] = $this->data['Empresa']['direccion'];
			$empresa['Empresa']['logo'] = $this->data['Empresa']['logo']['name'];
			$empresa['Empresa']['paises_id'] = $this->data['Empresa']['paises_id'];
			$empresa['Empresa']['regiones_id'] = $this->data['Empresa']['regiones_id'];
			$empresa['Empresa']['localidades_id'] = $this->data['Empresa']['localidades_id'];
			
			if($this->Empresa->save($empresa)){
				$this->Session->setFlash('La empresa ha sido editada');
				$this->redirect(array('action' => 'index'), null, true);
			}
			else{
				$this->Session->setFlash('La empresa no ha podido ser editada, intentelo de nuevo');
			}
		}
	}

	function delete($id = null){
		if(!$id){
			$this->Session->setFlash('id invalido para la empresa');
			$this->redirect(array('action' => 'index'), null, true);
		}
		else{
			$empresa = array();
			$this->Empresa->id = null;
			$empresa['Empresa']['id'] = $id;
			$empresa['Empresa']['deleted'] = 1;
			if($this->Empresa->save($empresa)){
				$this->Session->setFlash('Empresa #' . $id . ' borrado');	
				$this->redirect(array('action' => 'index'), null, true);
			}
		}
	}
	
	function reporte(){
		//$empresas = $this->Empresa->find('all');	
		$empresas = $this->Empresa->find('all', array('recursive' => 1, 'conditions' => array('Empresa.deleted' => 0)));	
		
		header('Content-type: application/vnd.ms-excel');
			header("Content-Disposition: attachment; filename=\"Reporte_Empresas.xls\"");
			header("Pragma: no-cache");
			header("Expires: 0");
echo <<<html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
  <title>eClass</title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
html;

			echo '<table border="1">'
			. '<tr>'
			. '<th>Id</th>'
			. '<th>Nombre</th>'
			. '<th>Rut</th>'
			. '<th>Email</th>'
			. '<th>Telefono</th>'
			. '<th>Celular</th>'
			. '<th>Pagina Web</th>'
			. '<th>Direccion</th>'
			. '<th>Pais</th>'
			. '<th>Region</th>'
			. '<th>Localidad</th>'
			. '</tr>'
			;

			if (empty($empresas)) {
			echo '
			<tr>
				<td colspan="8" class="center">' . __('No se encontraron registros.', true) . '</td>
			</tr>';
			}
			else {
				foreach ($empresas as $empresa) {
					echo ' 
						<tr>
							<td class="center">' . $empresa['Empresa']['id'] . '</td>
							<td class="center">' . $empresa['Empresa']['nombre'] . '</td>
							<td class="center">' . $empresa['Empresa']['rut'] . '</td>
							<td class="center">' . $empresa['Empresa']['email'] . '</td>
							<td class="center">' . $empresa['Empresa']['telefono'] . '</td>
							<td class="center">' . $empresa['Empresa']['celular'] . '</td>
							<td class="center">' . $empresa['Empresa']['url'] . '</td>
							<td class="center">' . $empresa['Empresa']['direccion'] . '</td>
							<td class="center">' . $empresa['Paises']['nombre'] . '</td>
							<td class="center">' . $empresa['Regiones']['nombre'] . '</td>
							<td class="center">' . $empresa['Localidades']['nombre'] . '</td>
					</tr>';
				}
			}
			echo '</table>';
echo <<<html
</body>
</html>
html;

	}
}